package io.finer.erp.jeecg.finance.service;

import io.finer.erp.jeecg.finance.entity.FinaNvoice;
import com.baomidou.mybatisplus.extension.service.IService;
import io.finer.erp.jeecg.finance.vo.FinaNvoiceDto;
import io.finer.erp.jeecg.finance.vo.FinaNvoiceSumPrice;

import java.util.List;

/**
 * @Description: 发票表单
 * @Author: jeecg-boot
 * @Date:   2021-03-23
 * @Version: V1.0
 */
public interface IFinaNvoiceService extends IService<FinaNvoice> {


    //获取发票编号和开票票金额为空的信息
    List<FinaNvoice> selectNvoiceByNoOrPrice(String type);



    boolean addInvoiceOrReceipt(FinaNvoice finaNvoice);

    boolean addInvoiceOrFK(FinaNvoice finaNvoice);


    FinaNvoiceSumPrice getInvoiceSumPrice(String type,String customerName,String startTime,String endTime);

    /**
     * @Description 销售开票平账
     * @param finaNvoice
     * @return
     * Create at: 2021-06-18 14:24:14
     * @author: xzs
     * Revision:
     *    2021-06-18 14:24:14 - first revision by xzs
     *
     */
    boolean updateInvoiceOrReceipt(FinaNvoice finaNvoice);
    
    /**
     * @Description 进货开票平账
     * @param finaNvoice
     * @return
     * Create at: 2021-06-18 14:25:24
     * @author: xzs
     * Revision:
     *    2021-06-18 14:25:24 - first revision by xzs
     *
     */
    boolean updateInvoiceOrPayment(FinaNvoice finaNvoice);
    
    /**
     * @Description 删除销售开票
     * @param ids
     * @return
     * Create at: 2021-06-18 15:14:17
     * @author: xzs
     * Revision:
     *    2021-06-18 15:14:17 - first revision by xzs
     *
     */
    boolean deleteBatchSK(String ids);
    
    /**
     * @Description 删除进货开票
     * @param ids
     * @return
     * Create at: 2021-06-18 15:36:48
     * @author: xzs
     * Revision:
     *    2021-06-18 15:36:48 - first revision by xzs
     *
     */
    boolean deleteBatchFK(String ids);

}
